<?php

namespace api\upload\driver;

use think\File;

abstract class Upload
{

    /**
     * 上传图片文件
     *
     * @param File $uploadFileInfo 文件信息
     * @return array
     */
    abstract public function uploadImageFile(File $uploadFileInfo): array;

    /**
     * 上传文件
     *
     * @param File $uploadFileInfo 文件信息
     * @return array
     */
    abstract public function uploadFile(File $uploadFileInfo): array;

    /**
     * 上传本地文件
     *
     * @param string $localFilePath 本地文件地址
     * @return array
     */
    abstract public function uploadLocalFile(string $localFilePath): array;

    /**
     * 删除文件
     *
     * @param string $filePath 文件地址
     * @return bool
     */
    abstract public function deleteFile(string $filePath): bool;
}
